package com.itheima.sh.a_variable_01;
/*
    表达式知道类型转换，不同的类型的变量参与运算最后的结果类型式什么
 */
public class Demo04 {
    public static void main(String[] args) {
        // 定义byte类型变量
        byte b1=10;
        // 定义int类型变量
        int i1=20;
        // byte result=b1=i1;
        // 不同类型参与运算，结果是最高类型。b1属于byte类型，i1属于int，因此结果result是int类型
        int resoult=b1+i1;
        System.out.println(resoult);//30

        // 在表达式中 byte short char 运算的时候知道提升为int类型
        char c1='a';
        System.out.println(c1+1);//98 c1属于char类型，在和1进行运算的时候会自动提升为int类型，字符'a'对应的整数为97
        System.out.println(c1);//a 这里输出字符a的原因是字符没有参与运算，因此底层直接输出值a

        byte b2=10;
        byte b3=20;
        /*
        下面运算，b2和b3虽然都是byte类型，但是在java中byte类型进行运算就会自动提升为int类型，因此等右边b2+b3的
        结果是int类型，不能直接赋值给b4
        byte b4=b2+b3;
         */
        int i4=b2+b3;
        System.out.println(i4);

    }
}
